<template>
  <div class="wrapper">
    <swiper :options="swiperOption" v-if="showSwiper">
      <!-- v-if="list.length"为了保证swiper初始化的时候不会把最后一张图当作第一次的显示 -->
      <!-- template中应该避免出现逻辑性的代码，因此computed派上用场 -->
      <!-- slides -->
      <swiper-slide v-for="item of list" :key="item.id">
        <img
          class="swiper-img"
          :src="item.imgUrl"
        >
      </swiper-slide>
      <!-- Optional controls -->
      <div class="swiper-pagination" slot="pagination"></div>
    </swiper>
  </div>
</template>

<script>
export default {
  name: 'HomeSwiper',
  // 子组件中定义data必须是一个函数
  props: {
    list: Array
    //
  },
  data () {
    return {
      swiperOption: {
        pagination: '.swiper-pagination',
        loop: true
      }
      // swiperList: [{
      //   id: '001',
      //   imgUrl: 'https://imgs.qunarzz.com/ftejia/1810/b6/8c85590caf3462.jpg'
      // }, {
      //   id: '002',
      //   imgUrl: 'https://imgs.qunarzz.com/vc/db/d7/9b/060d76b6546bf12b62fd08b202.jpg_92.jpg'
      // }, {
      //   id: '003',
      //   imgUrl: 'https://imgs.qunarzz.com/ftejia/1810/1a/35dd574b089b94.jpg'
      // }]
    }
  },
  computed: {
    showSwiper () {
      return this.list.length
    }
  }
}
</script>

<style lang="stylus" scoped>
.swiper-img
  width: 100%
.wrapper >>> .swiper-pagination-bullet-active
    background:#fff !important
    // .swiper-pagination-bullet-active这个类作用的组件不是当前组件而是swiper的原组件，因此使用穿透
.wrapper
//   width :100%
//   overflow:hidden
//   height :0
//   padding-bottom:54%
  // 如何实现宽高比例自适应
  // 按照你放的图片的宽高比去预先撑开这个高度 避免图片加载时高度塌陷
  // 这种写法是最佳的 以下的是可能存在兼容性的写法
  width: 100%
  height: 54vw
  background: #eee
</style>
